/**
 * Copyright &copy; 2012-2017 <a href="https://vivo.com">vivo</a> All rights reserved.
 */
package com.vivo.employee.entity;

import com.thinkgem.jeesite.modules.sys.entity.Office;
import org.hibernate.validator.constraints.Length;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.thinkgem.jeesite.common.utils.excel.annotation.ExcelField;

import com.thinkgem.jeesite.common.persistence.DataEntity;

/**
 * 面试管理Entity
 * @author jyangye
 * @version 2018-01-10
 */
public class ViEmpInterview extends DataEntity<ViEmpInterview> {
	
	private static final long serialVersionUID = 1L;
	private String employeeId;		// 员工ID
//	private String compId;		// 组织机构
//	private String deptId;		// 部门
//	private String postId;		// 职位

    private Office comp;
    private Office dept;
    private Office post;

	private String name;		// 姓名
	private String phone;		// 联系方式
	private String code;		// 身份证
	private String isSchool;		// 是否校招
	private String status;		// 当前状态
	private Date firstTime;		// 初面时间
	private String firstPlace;		// 初面地点
	private String firstManager;		// 初面面试官
	private String firstIsNotify;		// 初面安排
	private String firstNotifyMsg;		// 初面通知内容
	private String firstIsPassed;		// 初面结果
	private Date fsTime;		// 复试时间
	private String fsPlace;		// 复试地点
	private String fsManager;		// 复试面试官
	private String fsIsNotify;		// 复试安排
	private String fsNotifyMsg;		// 复试通知内容
	private String fsIsPassed;		// 复试结果
	private Date fsSTime;		// 二轮复试时间
	private String fsSPlace;		// 二轮复试地点
	private String fsSManager;		// 二轮复试面试官
	private String fsSIsNotify;		// 二轮复试安排
	private String fsSNofityMsg;		// 二轮复试通知内容
	private String fsSIsPassed;		// 二轮复试结果
	private Date tjTime;		// 体检时间
	private String tjPlace;		// 体检地点
	private String tjIsNotify;		// 体检安排
	private String tjIsPassed;		// 体检结果
	private String indutyIsNotify;		// 办理入职通知
	private String indutyNotifyMsg;		// 入职通知内容
	private String failReason;		// 未通过原因
	private String isFailed;		// 是否未通过


    private String fmPhone;
    private String fsPhone;
    private String fsSPhone;

    private String tjNotifyMsg; // 体检通知

    private String aliAccount; // 支付宝账户
    private Double traffic; // 交通
    private Double living; // 住宿
    private String others; // 费用备注
    private String hasRegSanf; // 是否签订三方


    private String failMsg; // 未通过短信
	
	public ViEmpInterview() {
		super();
	}

	public ViEmpInterview(String id){
		super(id);
	}

//	@Length(min=0, max=32, message="员工ID长度必须介于 0 和 32 之间")
//	@ExcelField(title="员工ID", align=2, sort=20)
	public String getEmployeeId() {
		return employeeId;
	}

	public void setEmployeeId(String employeeId) {
		this.employeeId = employeeId;
	}

    @ExcelField(title="组织机构", align=2, sort=30)
    public Office getComp() {
        return comp;
    }

    public void setComp(Office comp) {
        this.comp = comp;
    }

    @ExcelField(title="部门", align=2, sort=40)
    public Office getDept() {
        return dept;
    }

    public void setDept(Office dept) {
        this.dept = dept;
    }

    @ExcelField(title="职位", align=2, sort=50)
    public Office getPost() {
        return post;
    }

    public void setPost(Office post) {
        this.post = post;
    }

	
	@Length(min=1, max=32, message="姓名长度必须介于 1 和 32 之间")
	@ExcelField(title="姓名", align=2, sort=60)
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	@Length(min=1, max=16, message="联系方式长度必须介于 1 和 16 之间")
	@ExcelField(title="联系方式", align=2, sort=70)
	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}
	
	@Length(min=1, max=32, message="身份证长度必须介于 1 和 32 之间")
	@ExcelField(title="身份证", align=2, sort=80)
	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}
	
	@Length(min=1, max=1, message="是否校招长度必须介于 1 和 1 之间")
	@ExcelField(title="是否校招", align=2, sort=90, dictType = "yes_no")
	public String getIsSchool() {
		return isSchool;
	}

	public void setIsSchool(String isSchool) {
		this.isSchool = isSchool;
	}
	
	@Length(min=1, max=1, message="当前状态长度必须介于 1 和 1 之间")
	@ExcelField(title="当前状态", align=2, sort=100, dictType = "emp_interv_status")
	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
	@ExcelField(title="初面时间", align=2, sort=110)
	public Date getFirstTime() {
		return firstTime;
	}

	public void setFirstTime(Date firstTime) {
		this.firstTime = firstTime;
	}
	
	@Length(min=0, max=32, message="初面地点长度必须介于 0 和 32 之间")
	@ExcelField(title="初面地点", align=2, sort=120)
	public String getFirstPlace() {
		return firstPlace;
	}

	public void setFirstPlace(String firstPlace) {
		this.firstPlace = firstPlace;
	}
	
	@Length(min=0, max=32, message="初面面试官长度必须介于 0 和 32 之间")
	@ExcelField(title="初面面试官", align=2, sort=130)
	public String getFirstManager() {
		return firstManager;
	}

	public void setFirstManager(String firstManager) {
		this.firstManager = firstManager;
	}
	
	@Length(min=0, max=1, message="初面安排长度必须介于 0 和 1 之间")
	@ExcelField(title="初面安排", align=2, sort=140, dictType = "yes_no")
	public String getFirstIsNotify() {
		return firstIsNotify;
	}

	public void setFirstIsNotify(String firstIsNotify) {
		this.firstIsNotify = firstIsNotify;
	}
	
	@Length(min=0, max=1024, message="初面通知内容长度必须介于 0 和 1024 之间")
	@ExcelField(title="初面通知内容", align=2, sort=150)
	public String getFirstNotifyMsg() {
		return firstNotifyMsg;
	}

	public void setFirstNotifyMsg(String firstNotifyMsg) {
		this.firstNotifyMsg = firstNotifyMsg;
	}
	
	@Length(min=0, max=1, message="初面结果长度必须介于 0 和 1 之间")
	@ExcelField(title="初面结果", align=2, sort=160, dictType = "emp_int_result")
	public String getFirstIsPassed() {
		return firstIsPassed;
	}

	public void setFirstIsPassed(String firstIsPassed) {
		this.firstIsPassed = firstIsPassed;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
	@ExcelField(title="复试时间", align=2, sort=170)
	public Date getFsTime() {
		return fsTime;
	}

	public void setFsTime(Date fsTime) {
		this.fsTime = fsTime;
	}
	
	@Length(min=0, max=32, message="复试地点长度必须介于 0 和 32 之间")
	@ExcelField(title="复试地点", align=2, sort=180)
	public String getFsPlace() {
		return fsPlace;
	}

	public void setFsPlace(String fsPlace) {
		this.fsPlace = fsPlace;
	}
	
	@Length(min=0, max=32, message="复试面试官长度必须介于 0 和 32 之间")
	@ExcelField(title="复试面试官", align=2, sort=190)
	public String getFsManager() {
		return fsManager;
	}

	public void setFsManager(String fsManager) {
		this.fsManager = fsManager;
	}
	
	@Length(min=0, max=1, message="复试安排长度必须介于 0 和 1 之间")
	@ExcelField(title="复试安排", align=2, sort=200, dictType = "yes_no")
	public String getFsIsNotify() {
		return fsIsNotify;
	}

	public void setFsIsNotify(String fsIsNotify) {
		this.fsIsNotify = fsIsNotify;
	}
	
	@Length(min=0, max=1024, message="复试通知内容长度必须介于 0 和 1024 之间")
	@ExcelField(title="复试通知内容", align=2, sort=210)
	public String getFsNotifyMsg() {
		return fsNotifyMsg;
	}

	public void setFsNotifyMsg(String fsNotifyMsg) {
		this.fsNotifyMsg = fsNotifyMsg;
	}
	
	@Length(min=0, max=1, message="复试结果长度必须介于 0 和 1 之间")
	@ExcelField(title="复试结果", align=2, sort=220, dictType = "emp_int_result")
	public String getFsIsPassed() {
		return fsIsPassed;
	}

	public void setFsIsPassed(String fsIsPassed) {
		this.fsIsPassed = fsIsPassed;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
	@ExcelField(title="二轮复试时间", align=2, sort=230)
	public Date getFsSTime() {
		return fsSTime;
	}

	public void setFsSTime(Date fsSTime) {
		this.fsSTime = fsSTime;
	}
	
	@Length(min=0, max=32, message="二轮复试地点长度必须介于 0 和 32 之间")
	@ExcelField(title="二轮复试地点", align=2, sort=240)
	public String getFsSPlace() {
		return fsSPlace;
	}

	public void setFsSPlace(String fsSPlace) {
		this.fsSPlace = fsSPlace;
	}
	
	@Length(min=0, max=32, message="二轮复试面试官长度必须介于 0 和 32 之间")
	@ExcelField(title="二轮复试面试官", align=2, sort=250)
	public String getFsSManager() {
		return fsSManager;
	}

	public void setFsSManager(String fsSManager) {
		this.fsSManager = fsSManager;
	}
	
	@Length(min=0, max=1, message="二轮复试安排长度必须介于 0 和 1 之间")
	@ExcelField(title="二轮复试安排", align=2, sort=260, dictType = "yes_no")
	public String getFsSIsNotify() {
		return fsSIsNotify;
	}

	public void setFsSIsNotify(String fsSIsNotify) {
		this.fsSIsNotify = fsSIsNotify;
	}
	
	@Length(min=0, max=1024, message="二轮复试通知内容长度必须介于 0 和 1024 之间")
	@ExcelField(title="二轮复试通知内容", align=2, sort=270)
	public String getFsSNofityMsg() {
		return fsSNofityMsg;
	}

	public void setFsSNofityMsg(String fsSNofityMsg) {
		this.fsSNofityMsg = fsSNofityMsg;
	}
	
	@Length(min=0, max=1, message="二轮复试结果长度必须介于 0 和 1 之间")
	@ExcelField(title="二轮复试结果", align=2, sort=280, dictType = "emp_int_result")
	public String getFsSIsPassed() {
		return fsSIsPassed;
	}

	public void setFsSIsPassed(String fsSIsPassed) {
		this.fsSIsPassed = fsSIsPassed;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
	@ExcelField(title="体检时间", align=2, sort=290)
	public Date getTjTime() {
		return tjTime;
	}

	public void setTjTime(Date tjTime) {
		this.tjTime = tjTime;
	}
	
	@Length(min=0, max=32, message="体检地点长度必须介于 0 和 32 之间")
	@ExcelField(title="体检地点", align=2, sort=300)
	public String getTjPlace() {
		return tjPlace;
	}

	public void setTjPlace(String tjPlace) {
		this.tjPlace = tjPlace;
	}
	
	@Length(min=0, max=1, message="体检安排长度必须介于 0 和 1 之间")
	@ExcelField(title="体检安排", align=2, sort=310, dictType = "yes_no")
	public String getTjIsNotify() {
		return tjIsNotify;
	}

	public void setTjIsNotify(String tjIsNotify) {
		this.tjIsNotify = tjIsNotify;
	}
	
	@Length(min=0, max=1, message="体检结果长度必须介于 0 和 1 之间")
	@ExcelField(title="体检结果", align=2, sort=320, dictType = "emp_int_result")
	public String getTjIsPassed() {
		return tjIsPassed;
	}

	public void setTjIsPassed(String tjIsPassed) {
		this.tjIsPassed = tjIsPassed;
	}
	
	@Length(min=0, max=1, message="办理入职通知长度必须介于 0 和 1 之间")
	@ExcelField(title="办理入职通知", align=2, sort=330, dictType = "yes_no")
	public String getIndutyIsNotify() {
		return indutyIsNotify;
	}

	public void setIndutyIsNotify(String indutyIsNotify) {
		this.indutyIsNotify = indutyIsNotify;
	}
	
	@Length(min=0, max=1024, message="入职通知内容长度必须介于 0 和 1024 之间")
	@ExcelField(title="入职通知内容", align=2, sort=340)
	public String getIndutyNotifyMsg() {
		return indutyNotifyMsg;
	}

	public void setIndutyNotifyMsg(String indutyNotifyMsg) {
		this.indutyNotifyMsg = indutyNotifyMsg;
	}
	
	@Length(min=0, max=64, message="未通过原因长度必须介于 0 和 64 之间")
	@ExcelField(title="未通过原因", align=2, sort=350)
	public String getFailReason() {
		return failReason;
	}

	public void setFailReason(String failReason) {
		this.failReason = failReason;
	}
	
	@Length(min=0, max=1, message="是否未通过长度必须介于 0 和 1 之间")
	@ExcelField(title="是否未通过", align=2, sort=360, dictType = "yes_no")
	public String getIsFailed() {
		return isFailed;
	}

	public void setIsFailed(String isFailed) {
		this.isFailed = isFailed;
	}


    public String getFmPhone() {
        return fmPhone;
    }

    public void setFmPhone(String fmPhone) {
        this.fmPhone = fmPhone;
    }

    public String getFsPhone() {
        return fsPhone;
    }

    public void setFsPhone(String fsPhone) {
        this.fsPhone = fsPhone;
    }

    public String getFsSPhone() {
        return fsSPhone;
    }

    public void setFsSPhone(String fsSPhone) {
        this.fsSPhone = fsSPhone;
    }

    @Length(min=2, max=1024, message="体检通知长度必须介于 2 和 1024 之间")
    public String getTjNotifyMsg() {
        return tjNotifyMsg;
    }

    public void setTjNotifyMsg(String tjNotifyMsg) {
        this.tjNotifyMsg = tjNotifyMsg;
    }

    public String getFailMsg() {
        return failMsg;
    }

    public void setFailMsg(String failMsg) {
        this.failMsg = failMsg;
    }

    @ExcelField(title="支付宝账号", align=2, sort=370)
    @Length(min=2, max=32, message="支付宝账户长度必须介于 2 和 32 之间")
    public String getAliAccount() {
        return aliAccount;
    }

    public void setAliAccount(String aliAccount) {
        this.aliAccount = aliAccount;
    }

    @ExcelField(title="车票", align=2, sort=380)
    public Double getTraffic() {
        return traffic;
    }

    public void setTraffic(Double traffic) {
        this.traffic = traffic;
    }

    @ExcelField(title="住宿", align=2, sort=390)
    public Double getLiving() {
        return living;
    }

    public void setLiving(Double living) {
        this.living = living;
    }

    @Length(min=0, max=64, message="备注长度必须介于 2 和 64 之间")
    @ExcelField(title="备注", align=2, sort=400)
    public String getOthers() {
        return others;
    }

    public void setOthers(String others) {
        this.others = others;
    }

    @ExcelField(title="是否签订三方", align=2, sort=360)
    public String getHasRegSanf() {
        return hasRegSanf;
    }

    public void setHasRegSanf(String hasRegSanf) {
        this.hasRegSanf = hasRegSanf;
    }
}